package com.zhangkunhao.notes.utils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * 邮箱校验的工具类
 *
 * @author 20642
 */
public class EmailCheckUtil {
    /**
     * EMAIL_REGEX 常量，该常量包含了一个正则表达式，用于验证邮箱格式。
     */
    private static final String EMAIL_REGEX = "^[a-zA-Z0-9_\\-\\.]+@(qq\\.com|163\\.com|123\\.com)$";

    /**
     * ^ 表示字符串的开始位置
     * [a-zA-Z0-9_\-\.]+ 表示由字母、数字、下划线、连字符和点号组成的字符串，该字符串长度至少为 1
     *
     * @ 表示邮箱地址中的 @ 符号
     * (qq\.com|163\.com|123\.com) 表示 qq.com、163.com 或 123.com 中的一个
     * $ 表示字符串的结束位置
     * isValidEmail 方法接受邮箱作为参数,使用 Pattern.compile() 方法将 EMAIL_REGEX 编译成一个 Pattern 对象，
     * 然后使用 Matcher.matches() 方法对邮箱字符串进行匹配，返回结果。
     */
    public static boolean isValidEmail(String email) {

        Pattern pattern = Pattern.compile(EMAIL_REGEX);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }
}
